package main

import "fmt"

//结构体的继承

type Animal struct {
	name string
}

type Dog struct {
	Feet    int8
	*Animal // 匿名嵌套，而且嵌套了一个结构体指针
}

// 定义方法	// 定义一个指针接收者
func (a *Animal) move() {
	fmt.Printf("%s会动~", a.name)
}
func (d *Dog) wang() {
	fmt.Printf("%s会汪汪汪~", d.name)
}

func main() {
	d1 := &Dog{
		Feet: 4,
		Animal: &Animal{
			name: "乐乐",
		},
	}
	d1.wang() // 调用方法狗会动
	d1.move() // 狗会叫
}
